Blockchain technology is most widely known as the technology behind the popular cryptocurrency, Bitcoin. A blockchain creates a history of data deposits, messages, or transactions in a series of blocks where each block contains a mathematical summary, called a hash, of the previous block. This creates a chain where any changes made to a block will change that block's hash, which must be recomputed and stored in the next block. This changes the hash of the next block, which must also be recomputed and so on until the end of the chain.
Although the hash, or mathematical summary, is simple to compute, there are rules imposed which require the value of the hash to be below a certain threshold value. In addition, the hash is based on a special type of mathematical function that is not reversible; you cannot predict what input can be used to produce the desired output. A valid hash is found by repeatedly adjusting a changeable value in the block, and recalculating the hash until it meets the validity requirements. The freely changeable value is called the nonce. The unpredictable nature of the hash considerably increases the difficulty of finding a nonce that produces a valid hash of the block. Typically, trillions of different nonces must be tried before a valid hash is found. Therefore, changing the value of previously stored data in the blockchain is computationally expensive, although not impossible.
The security of a blockchain is further increased by implementing it on a distributed network. This means a large number of users all have access to the blockchain and are all attempting to add blocks to the end of the chain by finding a nonce that produces a valid hash for a given block of data. When two blocks are found that both claim to reference the same previous block, a fork in the chain is created. Some users in the network will attempt to find the next block on one end of the fork while other users will work from the other end of the fork. Eventually one of the forks will surpass the other in length, and the longest chain is accepted by consensus as the valid chain. Therefore, anyone who attempts to change a block must not only re-find a valid hash for each subsequent block, but must do it faster than everyone else working on the currently accepted chain. Thus, after a certain number of blocks have been chained onto a particular block, it becomes prohibitively costly to try to change that block.
Blockchains on a distributed network with sufficiently restrictive rules for creating valid blocks are fairly secure against unauthorized changes to the data stored in them. This makes blockchains particularly useful for recording financial transactions. However, the blockchain has not been properly adapted for use in a voting system, and a voting system has not yet been created which leverages the advantages of blockchain within a larger electronic voting system to solve traditional problems related to fraud in voting systems.
Therefore, there is a need in the art for a system and method for a voting system that prevents fraud in the counting process by leveraging and adapting blockchain technology to a distributed voting system.